package pl.egraveyard.dao;

import java.util.List;


/**
 * Specyfikacja DAO dla slownikow
 * @author gunos
 *
 * @param <T> klasa slownika
 */
public interface AbstractSlDaoSupport<T> {
	/**
	 * Pobiera obiekt slownikowy o podanym id
	 * @param id id danego obiektu
	 * @return obiekt lub null jesli obiekt o podanym id nie istnieje
	 */
	T read(Integer id);
	
	/**
	 * Pobiera obiekt slownikowy o podanym kodzie
	 * @param code kod obiektu
	 * @return obiekt lub null jesli obiekt o podanym kodzie nie istnieje
	 */
	T read(String code);
	
	/**
	 * Pobiera wszystkie wpisy ze slownika
	 * @return liste danych ze slownika, nie zwraca null
	 */
	List<T> readAll();
}
